package com.dp.service;

import java.util.List;

import com.dp.pojo.ClassPO;
import com.dp.pojo.MobileCompany;
import com.dp.pojo.TerminalPO;

public interface TerminalService {

	void saveTerminal(TerminalPO ter);
	
	void saveMCompany(MobileCompany com);
	
	void saveUaClass(ClassPO uaClass);
	
	int updateTerminal(TerminalPO ter);
	
	int updateMCompany(MobileCompany com);
	
	int updateUaClass(ClassPO uaClass);
	
	int delTerminal(long terminal_id);
	
	int delMCompany(long com_id);
	
	int delUaClass(long ua_class_id);
	
	/**
	 * 得到一条UA记录
	 */
	TerminalPO getTerminal(long id);
	
	TerminalPO checkTerminal(String user_agent);
	
	TerminalPO checkModel(String model);
		
	
	/**
	 * 得到一条品牌记录
	 */
	MobileCompany getMCompany(long id);
	
	MobileCompany checkMCompany(MobileCompany com);
	
	/**
	 * 得到一条终端大类记录
	 */
	ClassPO getUaClass(long id);
	
	ClassPO checkUaClass(String ua_class);
	
	/**
	 * 查询符合要求的UA记录
	 */
	List<TerminalPO> getTerminalList(TerminalPO ter);
	
	List<TerminalPO> getTerminalListbyComid(long com_id);
	
	/**
	 * 查询符合要求的品牌记录
	 */
	List<MobileCompany> getCompanyList(MobileCompany com);
	
	/**
	 * 查询符合要求的终端大类记录
	 */
	List<ClassPO> getUaClassList(ClassPO uaClass);
	
	/**
	 * 查询区域品牌列表
	 */
	List<MobileCompany> getMCompanysByArea(int area);
	
	/**
	 * 查询符合要求的终端大类记录
	 */
	List<ClassPO> getUaClassListByType(int type);
	
	
	/**
	 * 得到查询符合要求的UA记录数量
	 */
	int getTerminalListCount(TerminalPO ter);
	
	/**
	 * 得到查询符合要求的品牌记录数量
	 */
	int getCompanyListCount(MobileCompany com);
	
	/**
	 * 得到查询符合要求的终端大类记录数量
	 */
	int getUaClassListCount(ClassPO uaClass);
	
	
	
	
	/**
	 * 根据型号查询相似型号
	 */
	List<TerminalPO> getTerminalsByModel(String model);

	/**
	 * 根据UA查询相似UA
	 */
	List<TerminalPO> getTerminalsByUa(String user_agent);
	
	/**
	 * 根据品牌英文名查询相似品牌英文名
	 */
	List<MobileCompany> getMCompanysByEn(String en);
	ClassPO getUaClassbyname(String ua_class);
	

}
